00001 /*----------------------------------------------------------------------------*\ 00002 ______ _ ____ __ __ 00003 | ____| _| |_ / __ \ /\ | \/ | 00004 | |__ _ __ ___ ___ / \| | | | / \ | \ / | 00005 | __| '__/ _ \/ _ ( (| |) ) | | |/ /\ \ | |\/| | 00006 | | | | | __/ __/\_ _/| |__| / ____ \| | | | 00007 |_| |_| \___|\___| |_| \____/_/ \_\_| |_| 00008 00009 FreeFOAM: The Cross-Platform CFD Toolkit 00010 00011 Copyright (C) 2008-2012 Michael Wild <themiwi@users.sf.net> 00012 Gerber van der Graaf <gerber_graaf@users.sf.net> 00013 -------------------------------------------------------------------------------- 00014 License 00015 This file is part of FreeFOAM. 00016 00017 FreeFOAM is free software: you can redistribute it and/or modify it 00018 under the terms of the GNU General Public License as published by the 00019 Free Software Foundation, either version 3 of the License, or (at your 00020 option) any later version. 00021 00022 FreeFOAM is distributed in the hope that it will be useful, but WITHOUT 00023 ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or 00024 FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License 00025 for more details. 00026 00027 You should have received a copy of the GNU General Public License 00028 along with FreeFOAM. If not, see <http://www.gnu.org/licenses/>. 00029 00030 Class 00031 Foam::dummyOPstreamImpl 00032 00033 Description 00034 Dummy implementation of the OPstreamImpl abstract base class. 00035 00036 SourceFiles 00037 dummyOPstreamImpl.C 00038 00039 \*----------------------------------------------------------------------------*/ 00040 00041 #ifndef dummyOPstreamImpl_H 00042 #define dummyOPstreamImpl_H 00043 00044 #include <OpenFOAM/OPstreamImpl.H> 00045 00046 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // 00047 00048 namespace Foam 00049 { 00050 00051 /*---------------------------------------------------------------------------*\ 00052 Class dummyOPstreamImpl Declaration 00053 \*---------------------------------------------------------------------------*/ 00054 00055 class dummyOPstreamImpl 00056 : 00057 public OPstreamImpl 00058 { 00059 // Private Member Functions 00060 00061 //- Disallow default bitwise copy construct 00062 dummyOPstreamImpl(const dummyOPstreamImpl&); 00063 00064 //- Disallow default bitwise assignment 00065 void operator=(const dummyOPstreamImpl&); 00066 00067 public: 00068 00069 // Declare name of the class and its debug switch 00070 TypeName("dummyOPstreamImpl"); 00071 00072 // Constructors 00073 00074 //- Construct null 00075 dummyOPstreamImpl(){} 00076 00077 // Member Functions 00078 00079 //- Flush the buffer (used in OPstream::~OPstream()) 00080 virtual void flush 00081 ( 00082 const PstreamImpl::commsTypes commsType, 00083 const int toProcNo, 00084 const char* buf, 00085 const int bufPosition 00086 ); 00087 00088 //- Write given buffer to given processor 00089 virtual bool write 00090 ( 00091 const PstreamImpl::commsTypes commsType, 00092 const int toProcNo, 00093 const char* buf, 00094 const std::streamsize bufSize 00095 ); 00096 00097 //- Non-blocking writes: wait until all have finished. 00098 virtual void waitRequests(); 00099 00100 //- Non-blocking writes: has request i finished? 00101 virtual bool finishedRequest(const label i); 00102 00103 }; 00104 00105 00106 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // 00107 00108 } // End namespace Foam 00109 00110 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // 00111 00112 #endif 00113 00114 // ************************ vim: set sw=4 sts=4 et: ************************ //