FreeFOAM The Cross-Platform CFD Toolkit
Hosted by SourceForge:
Get FreeFOAM at SourceForge.net.
            Fast, secure and Free Open Source software downloads

IPstreamImpl.C

Go to the documentation of this file.
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 \*----------------------------------------------------------------------------*/
00031 
00032 #include <OpenFOAM/IPstreamImpl.H>
00033 
00034 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
00035 
00036 defineTypeNameAndDebug(Foam::IPstreamImpl, 0);
00037 defineRunTimeSelectionTable(Foam::IPstreamImpl, dictionary);
00038 
00039 // * * * * * * * * * * * * * * Static Data Members * * * * * * * * * * * * * //
00040 
00041 Foam::autoPtr<Foam::IPstreamImpl> Foam::IPstreamImpl::instance_;
00042 
00043 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
00044 
00045 Foam::autoPtr<Foam::IPstreamImpl> Foam::IPstreamImpl::New
00046 (
00047 )
00048 {
00049     if(!instance_.valid())
00050     {
00051         // load the Pstream library the user wants to use
00052         PstreamImpl::loadPstreamLibrary();
00053         // find the IPstream type the user wants to use
00054         instance_ =  PstreamImpl::loadPstreamInstance<IPstreamImpl>
00055         (
00056             "IPstream",
00057             "FREEFOAM_IPSTREAM_CLASS",
00058             dictionaryConstructorTablePtr_
00059         );
00060     }
00061     return instance_;
00062 }
00063 
00064 // ************************ vim: set sw=4 sts=4 et: ************************ //
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines