/* * This file is part of rasdaman community. * * Rasdaman community is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * Rasdaman community is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with rasdaman community. If not, see . * * Copyright 2003, 2004, 2005, 2006, 2007, 2008, 2009 Peter Baumann / rasdaman GmbH. * * For more information please see * or contact Peter Baumann via . / /** * INCLUDE: akgnet_file.hh * * MODULE: akg network * CLASS: File * * COMMENTS: * Namespace akg * */ #ifndef AKGNET_FILE_HH #define AKGNET_FILE_HH #include "akgnet_fdescr.hh" namespace akg { /** This class represents the files in the file descriptor hierarchie. Since this is a network library, our concearn is only for the descriptor of the files. The primary use of this class is access to file descriptors opened in other ways than sockets, like stdin or stdout */ class File : public FileDescriptor { public: /// Default constructor File() throw(); /** Constructor taking an already opened file descriptor Assert: osFileDescriptor > 0 */ File(int osFileDescriptor) throw(); /** Connect to an already opened file descriptor Assert: osFileDescriptor > 0 */ void connectToDescriptor(int osFileDescriptor) throw(); private: /// unimplemented, objects of this type can't be copied File(const File&); /// unimplemented, objects of this type can't be copied File& operator=(const File&); }; } //namespace #endif