00001 #ifdef FX_FOXCOMPAT 00002 00003 /******************************************************************************** 00004 * * 00005 * P i p e C l a s s * 00006 * * 00007 ********************************************************************************* 00008 * Copyright (C) 2005,2006 by Jeroen van der Zijp. All Rights Reserved. * 00009 ********************************************************************************* 00010 * This library is free software; you can redistribute it and/or * 00011 * modify it under the terms of the GNU Lesser General Public * 00012 * License as published by the Free Software Foundation; either * 00013 * version 2.1 of the License, or (at your option) any later version. * 00014 * * 00015 * This library is distributed in the hope that it will be useful, * 00016 * but WITHOUT ANY WARRANTY; without even the implied warranty of * 00017 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * 00018 * Lesser General Public License for more details. * 00019 * * 00020 * You should have received a copy of the GNU Lesser General Public * 00021 * License along with this library; if not, write to the Free Software * 00022 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA. * 00023 ********************************************************************************* 00024 * $Id: FXPipe.h,v 1.7.2.1 2007/08/02 21:31:17 fox Exp $ * 00025 ********************************************************************************/ 00026 #ifndef FXPIPE_H 00027 #define FXPIPE_H 00028 00029 #ifndef FXIO_H 00030 #include "FXIO.h" 00031 #endif 00032 00033 00035 00036 00037 namespace FX { 00038 00039 00043 class FXAPI FXPipe : public FXIO { 00044 private: 00045 FXPipe(const FXPipe&); 00046 FXPipe &operator=(const FXPipe&); 00047 public: 00048 00050 FXPipe(){ } 00051 00053 FXPipe(FXInputHandle handle,FXuint mode); 00054 00056 virtual bool open(FXInputHandle handle,FXuint mode); 00057 00059 virtual FXival readBlock(void* data,FXival count); 00060 00062 virtual FXival writeBlock(const void* data,FXival count); 00063 00065 virtual bool close(); 00066 00068 static bool create(const FXString& file,FXuint perm=FXIO::OwnerReadWrite|FXIO::GroupReadWrite|FXIO::OtherReadWrite); 00069 00071 virtual ~FXPipe(); 00072 }; 00073 00074 } 00075 00076 #endif 00077 #endif