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

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. #ifndef SBINETEXPIRABLESTREAM_HPP
  23. #define SBINETEXPIRABLESTREAM_HPP
  24. /**
  25.  * This class represents a SBinetStream that is stoppable.  This means that
  26.  * time-out can be set and inspected for expiration.  However, this class only
  27.  * provides a simple interface for stream to be stopped.  The actual detection
  28.  * of time-out expiration has to be done within the derived classes.
  29.  *
  30.  * @doc <p>
  31.  **/
  32. #include "SBinetStream.hpp"
  33. #include "SBinetStoppable.hpp"
  34. #include "SBinetUtils.hpp"
  35. class SBinetStoppableStream: public SBinetStream, public SBinetStoppable
  36. {
  37.   // ................. CONSTRUCTORS, DESTRUCTOR  ............
  38.   //
  39.   // ------------------------------------------------------------
  40.   /**
  41.    * Default constructor.
  42.    **/
  43.  public:
  44.   SBinetStoppableStream(SBinetURL *url, SBinetStreamType type, VXIlogInterface *log, VXIunsigned diagLogBase):
  45.   SBinetStream(url, type, log, diagLogBase),
  46.   SBinetStoppable()
  47.   {}
  48.   /**
  49.    * Destructor.
  50.    **/
  51.  public:
  52.   virtual ~SBinetStoppableStream()
  53.   {}
  54.   /**
  55.     * Disabled copy constructor.
  56.    **/
  57.  private:
  58.   SBinetStoppableStream(const SBinetStoppableStream&);
  59.   /**
  60.     * Disabled assignment operator.
  61.    **/
  62.  private:
  63.   SBinetStoppableStream& operator=(const SBinetStoppableStream&);
  64.   /**
  65.     * MD5 info of the fetched uri for cache stream
  66.    **/  
  67.  public:
  68.   virtual void SetMD5Info(const SBinetMD5 & md5k)
  69.   {
  70.     _md5k = md5k;
  71.   }
  72.   
  73.   virtual const SBinetMD5 & GetMD5Info() const 
  74.   {
  75.     return _md5k;
  76.   }
  77.   
  78.   virtual void ClearMD5Info() 
  79.   {
  80.     _md5k.Clear();  
  81.   }
  82.   
  83.  private:
  84.   SBinetMD5 _md5k;
  85. };
  86. #endif