libopencad
Main Page
Classes
Files
File List
cadfileio.h
1
/*******************************************************************************
2
* Project: libopencad
3
* Purpose: OpenSource CAD formats support library
4
* Author: Alexandr Borzykh, mush3d at gmail.com
5
* Author: Dmitry Baryshnikov, bishop.dev@gmail.com
6
* Language: C++
7
*******************************************************************************
8
* The MIT License (MIT)
9
*
10
* Copyright (c) 2016 Alexandr Borzykh
11
* Copyright (c) 2016 NextGIS, <info@nextgis.com>
12
*
13
* Permission is hereby granted, free of charge, to any person obtaining a copy
14
* of this software and associated documentation files (the "Software"), to deal
15
* in the Software without restriction, including without limitation the rights
16
* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
17
* copies of the Software, and to permit persons to whom the Software is
18
* furnished to do so, subject to the following conditions:
19
*
20
* The above copyright notice and this permission notice shall be included in all
21
* copies or substantial portions of the Software.
22
*
23
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
24
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
25
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
26
* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
27
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
28
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
29
* SOFTWARE.
30
******************************************************************************/
31
#ifndef CADFILEIO_H
32
#define CADFILEIO_H
33
34
#include <cstddef>
35
40
class
CADFileIO
41
{
42
public
:
43
enum class
SeekOrigin
44
{
45
BEG
,
46
CUR
,
47
END
48
};
49
50
enum
OpenMode
51
{
52
binary = 1L << 2,
53
read = 1L << 3,
54
write = 1L << 4
55
};
56
57
public
:
58
CADFileIO
(
const
char
* pszFileName);
59
virtual
~
CADFileIO
();
60
virtual
const
char
* ReadLine() = 0;
61
virtual
bool
Eof() = 0;
62
virtual
bool
Open(
int
mode) = 0;
63
virtual
bool
IsOpened()
const
;
64
virtual
bool
Close();
65
virtual
int
Seek(
long
int
offset,
SeekOrigin
origin) = 0;
66
virtual
long
int
Tell() = 0;
67
virtual
size_t
Read(
void
* ptr,
size_t
size) = 0;
68
virtual
size_t
Write(
void
* ptr,
size_t
size) = 0;
69
virtual
void
Rewind() = 0;
70
const
char
* GetFilePath()
const
;
71
72
protected
:
73
const
char
* m_pszFilePath;
74
bool
m_bIsOpened;
75
};
76
77
#endif // CADFILEIO_H
CADFileIO::SeekOrigin::END
CADFileIO::SeekOrigin::BEG
CADFileIO
The CADFileIO class provides in/out file operations as read, write, seek, etc. This is abstract class...
Definition:
cadfileio.h:40
CADFileIO::SeekOrigin
SeekOrigin
Definition:
cadfileio.h:43
CADFileIO::SeekOrigin::CUR
Generated by
1.8.11