VXMLDocument.hpp
上传用户:xqtpzdz
上传日期:2022-05-21
资源大小:1764k
文件大小:3k
源码类别:

xml/soap/webservice

开发平台:

Visual C++

  1. #ifndef _VXML_Document_HPP
  2. #define _VXML_Document_HPP
  3. /****************License************************************************
  4.  * Vocalocity OpenVXI
  5.  * Copyright (C) 2004-2005 by Vocalocity, Inc. All Rights Reserved.
  6.  * This program is free software; you can redistribute it and/or
  7.  * modify it under the terms of the GNU General Public License
  8.  * as published by the Free Software Foundation; either version 2
  9.  * of the License, or (at your option) any later version.
  10.  *  
  11.  * This program is distributed in the hope that it will be useful,
  12.  * but WITHOUT ANY WARRANTY; without even the implied warranty of
  13.  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
  14.  * GNU General Public License for more details.
  15.  *
  16.  * You should have received a copy of the GNU General Public License
  17.  * along with this program; if not, write to the Free Software
  18.  * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.
  19.  * Vocalocity, the Vocalocity logo, and VocalOS are trademarks or 
  20.  * registered trademarks of Vocalocity, Inc. 
  21.  * OpenVXI is a trademark of Scansoft, Inc. and used under license 
  22.  * by Vocalocity.
  23.  ***********************************************************************/
  24. /***********************************************************************
  25.  *
  26.  * Definition of a VXML document and its serialization interface.
  27.  *
  28.  ***********************************************************************/
  29. #include "DocumentModel.hpp"
  30. class SerializerOutput {
  31. public:
  32.   virtual void Write(const VXIbyte * data, VXIulong size) = 0;
  33.   SerializerOutput()  { }
  34.   virtual ~SerializerOutput()  { }
  35. };
  36. class SerializerInput {
  37. public:
  38.   virtual VXIulong Read(VXIbyte * buffer, VXIulong bufSize) = 0;
  39.   SerializerInput()  { }
  40.   virtual ~SerializerInput()  { }
  41. };
  42. class VXMLDocument {
  43. public:
  44.   VXMLDocument(VXMLDocumentRep * = NULL);
  45.   VXMLDocument(const VXMLDocument &);
  46.   VXMLDocument & operator=(const VXMLDocument &);
  47.   ~VXMLDocument();
  48.   VXMLElement GetRoot() const;
  49.   void GetBaseURL(vxistring & baseuri) const;
  50.   void SetBaseURL(const vxistring & baseuri);
  51.   void GetDefaultLang(vxistring & defaultLanguage) const;
  52.   void SetDefaultLang(const vxistring & defaultLanguage);
  53.   
  54.   // Begin Note: The following functions have been obsoleted
  55.   // Do not attempt to use them!!!
  56.   void WriteDocument(SerializerOutput &) const;
  57.   void ReadDocument(SerializerInput &);
  58.   // End Note
  59.   
  60.   class SerializationError { };
  61.   // This exception may be generated during serialization attempts.
  62. private:
  63.   VXMLDocumentRep * internals;
  64. };
  65. #endif // #define _VXML_Document_HPP