YAPOG
0.0.1
Yet Another Pokemon Online Game
Main Page
Related Pages
Namespaces
Classes
Files
File List
File Members
DatabaseStream.hpp
Go to the documentation of this file.
1
#ifndef YAPOG_DATABASESTREAM_HPP
2
# define YAPOG_DATABASESTREAM_HPP
3
4
# include "
YAPOG/Macros.hpp
"
5
# include "
YAPOG/System/IO/IWriter.hpp
"
6
# include "
YAPOG/System/IO/IReader.hpp
"
7
# include "
pgstream/pgstream.hpp
"
8
9
namespace
yap
10
{
11
class
YAPOG_LIB
DatabaseStream
12
:
public
IWriter
13
,
public
IReader
14
{
15
DISALLOW_COPY
(
DatabaseStream
);
16
public
:
17
DatabaseStream
(
18
const
yap::String
& query,
19
pgs::pg_cnx
& databaseConnection);
20
23
virtual
void
Accept (
IWriterVisitor
& visitor);
24
virtual
void
Accept (
IWriterConstVisitor
& visitor)
const
;
25
26
virtual
void
Write (
const
String
& value);
27
virtual
void
Write (
const
String
& name,
const
String
& value);
28
29
virtual
void
Write (
const
bool
& value);
30
virtual
void
Write (
const
String
& name,
const
bool
& value);
31
32
virtual
void
Write (
const
char
& value);
33
virtual
void
Write (
const
String
& name,
const
char
& value);
34
35
virtual
void
Write (
const
uchar
& value);
36
virtual
void
Write (
const
String
& name,
const
uchar
& value);
37
38
virtual
void
Write (
const
Int16
& value);
39
virtual
void
Write (
const
String
& name,
const
Int16
& value);
40
41
virtual
void
Write (
const
UInt16
& value);
42
virtual
void
Write (
const
String
& name,
const
UInt16
& value);
43
44
virtual
void
Write (
const
int
& value);
45
virtual
void
Write (
const
String
& name,
const
int
& value);
46
47
virtual
void
Write (
const
uint
& value);
48
virtual
void
Write (
const
String
& name,
const
uint
& value);
49
50
virtual
void
Write (
const
Int64
& value);
51
virtual
void
Write (
const
String
& name,
const
Int64
& value);
52
53
virtual
void
Write (
const
UInt64
& value);
54
virtual
void
Write (
const
String
& name,
const
UInt64
& value);
55
56
virtual
void
Write (
const
float
& value);
57
virtual
void
Write (
const
String
& name,
const
float
& value);
58
59
virtual
void
Write (
const
double
& value);
60
virtual
void
Write (
const
String
& name,
const
double
& value);
61
62
virtual
void
Write (
const
Vector2
& value);
63
virtual
void
Write (
const
String
& name,
const
Vector2
& value);
64
65
virtual
void
Write (
const
ID
& value);
66
virtual
void
Write (
const
String
& name,
const
ID
& value);
68
71
virtual
void
Accept (
IReaderVisitor
& visitor);
72
virtual
void
Accept (
IReaderConstVisitor
& visitor)
const
;
73
74
virtual
String
ReadString ();
75
virtual
String
ReadString (
const
String
& name);
76
77
virtual
bool
ReadBool ();
78
virtual
bool
ReadBool (
const
String
& name);
79
80
virtual
char
ReadChar ();
81
virtual
char
ReadChar (
const
String
& name);
82
83
virtual
uchar
ReadUChar ();
84
virtual
uchar
ReadUChar (
const
String
& name);
85
86
virtual
Int16
ReadInt16 ();
87
virtual
Int16
ReadInt16 (
const
String
& name);
88
89
virtual
UInt16
ReadUInt16 ();
90
virtual
UInt16
ReadUInt16 (
const
String
& name);
91
92
virtual
int
ReadInt ();
93
virtual
int
ReadInt (
const
String
& name);
94
95
virtual
uint
ReadUInt ();
96
virtual
uint
ReadUInt (
const
String
& name);
97
98
virtual
Int64
ReadInt64 ();
99
virtual
Int64
ReadInt64 (
const
String
& name);
100
101
virtual
UInt64
ReadUInt64 ();
102
virtual
UInt64
ReadUInt64 (
const
String
& name);
103
104
virtual
float
ReadFloat ();
105
virtual
float
ReadFloat (
const
String
& name);
106
107
virtual
double
ReadDouble ();
108
virtual
double
ReadDouble (
const
String
& name);
109
110
virtual
Vector2
ReadVector2 ();
111
virtual
Vector2
ReadVector2 (
const
String
& name);
112
113
virtual
ID
ReadID ();
114
virtual
ID
ReadID (
const
String
& name);
116
119
int
EndOfStream ();
120
int
AffectedRows ()
const
;
121
bool
ReturnValueIsEmpty ()
const
;
123
124
private
:
125
template
<
typename
T>
126
void
WriteData (
const
T& data);
127
128
template
<
typename
T>
129
T ReadData ();
130
131
pgs::pg_stream
pgStream_
;
132
};
133
}
// namespace yap
134
135
# include "
YAPOG/Database/DatabaseStream.hxx
"
136
137
#endif // YAPOG_DATABASESTREAM_HPP
YAPOG
include
YAPOG
Database
DatabaseStream.hpp
Generated on Mon Sep 17 2012 22:24:22 for YAPOG by
1.8.1.1