summaryrefslogtreecommitdiffstats
path: root/network/akgnet_file.hh
blob: 25f7000e80580c7884b0405263f1c6fedf815905 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
/*
* 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 <http://www.gnu.org/licenses/>.
*
* Copyright 2003, 2004, 2005, 2006, 2007, 2008, 2009 Peter Baumann /
rasdaman GmbH.
*
* For more information please see <http://www.rasdaman.org>
* or contact Peter Baumann via <baumann@rasdaman.com>.
/
/**
 * 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
*/

/**
  * \ingroup Networks
  */ 
  
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