~baltix/+junk/irrlicht-test

« back to all changes in this revision

Viewing changes to source/Irrlicht/CWriteFile.h

  • Committer: Mantas Kriaučiūnas
  • Date: 2011-07-18 13:06:25 UTC
  • Revision ID: mantas@akl.lt-20110718130625-c5pvifp61e7kj1ol
Included whole irrlicht SVN libraries to work around launchpad recipe issue with quilt, see https://answers.launchpad.net/launchpad/+question/165193

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
// Copyright (C) 2002-2011 Nikolaus Gebhardt
 
2
// This file is part of the "Irrlicht Engine".
 
3
// For conditions of distribution and use, see copyright notice in irrlicht.h
 
4
 
 
5
#ifndef __C_WRITE_FILE_H_INCLUDED__
 
6
#define __C_WRITE_FILE_H_INCLUDED__
 
7
 
 
8
#include <stdio.h>
 
9
#include "IWriteFile.h"
 
10
#include "irrString.h"
 
11
 
 
12
namespace irr
 
13
{
 
14
 
 
15
namespace io
 
16
{
 
17
 
 
18
        /*!
 
19
                Class for writing a real file to disk.
 
20
        */
 
21
        class CWriteFile : public IWriteFile
 
22
        {
 
23
        public:
 
24
 
 
25
                CWriteFile(const io::path& fileName, bool append);
 
26
 
 
27
                virtual ~CWriteFile();
 
28
 
 
29
                //! Reads an amount of bytes from the file.
 
30
                virtual s32 write(const void* buffer, u32 sizeToWrite);
 
31
 
 
32
                //! Changes position in file, returns true if successful.
 
33
                virtual bool seek(long finalPos, bool relativeMovement = false);
 
34
 
 
35
                //! Returns the current position in the file.
 
36
                virtual long getPos() const;
 
37
 
 
38
                //! Returns name of file.
 
39
                virtual const io::path& getFileName() const;
 
40
 
 
41
                //! returns if file is open
 
42
                bool isOpen() const;
 
43
 
 
44
        private:
 
45
 
 
46
                //! opens the file
 
47
                void openFile(bool append);
 
48
 
 
49
                io::path Filename;
 
50
                FILE* File;
 
51
                long FileSize;
 
52
        };
 
53
 
 
54
} // end namespace io
 
55
} // end namespace irr
 
56
 
 
57
#endif
 
58