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

xml/soap/webservice

开发平台:

Visual C++

  1. /****************License************************************************
  2.  * Vocalocity OpenVXI
  3.  * Copyright (C) 2004-2005 by Vocalocity, Inc. All Rights Reserved.
  4.  * This program is free software; you can redistribute it and/or
  5.  * modify it under the terms of the GNU General Public License
  6.  * as published by the Free Software Foundation; either version 2
  7.  * of the License, or (at your option) any later version.
  8.  *  
  9.  * This program is distributed in the hope that it will be useful,
  10.  * but WITHOUT ANY WARRANTY; without even the implied warranty of
  11.  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
  12.  * GNU General Public License for more details.
  13.  *
  14.  * You should have received a copy of the GNU General Public License
  15.  * along with this program; if not, write to the Free Software
  16.  * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.
  17.  * Vocalocity, the Vocalocity logo, and VocalOS are trademarks or 
  18.  * registered trademarks of Vocalocity, Inc. 
  19.  * OpenVXI is a trademark of Scansoft, Inc. and used under license 
  20.  * by Vocalocity.
  21.  ***********************************************************************/
  22. #if _MSC_VER >= 1100    // Visual C++ 5.x
  23. #pragma warning( disable : 4786 4503 )
  24. #endif
  25. #include "SWIoutputStream.hpp"
  26. #include <cstdio>
  27. #include <cstring>
  28. // SWIoutputStream::SWIoutputStream
  29. // Refer to SWIoutputStream.hpp for doc.
  30. SWIoutputStream::SWIoutputStream()
  31. {}
  32. // SWIoutputStream::~SWIoutputStream
  33. // Refer to SWIoutputStream.hpp for doc.
  34. SWIoutputStream::~SWIoutputStream()
  35. {}
  36. SWIstream::Result SWIoutputStream::printString(const char *s)
  37. {
  38.   int len = strlen(s);
  39.   int rc = writeBytes(s, len);
  40.   if (rc < 0) return Result(rc);
  41.   if (rc == len) return SUCCESS;
  42.   return WRITE_ERROR;
  43. }
  44. SWIstream::Result SWIoutputStream::printChar(char c)
  45. {
  46.   int rc = writeBytes(&c, sizeof c);
  47.   if (rc < 0) return Result(rc);
  48.   return rc == sizeof c ? SUCCESS : WRITE_ERROR;
  49. }
  50. SWIstream::Result SWIoutputStream::printInt(int i)
  51. {
  52.   char tmp[20];  // should be more than enough for any 32 bit integer.
  53.   ::sprintf(tmp, "%d", i);
  54.   return printString(tmp);
  55. }
  56. SWIstream::Result SWIoutputStream::flush()
  57. {
  58.   return SUCCESS;
  59. }
  60. bool SWIoutputStream::isBuffered() const
  61. {
  62.   return false;
  63. }
  64. SWIstream::Result SWIoutputStream::waitReady(long timeoutMs)
  65. {
  66.   return SUCCESS;
  67. }