YAPOG  0.0.1
Yet Another Pokemon Online Game
DatabaseStream.cpp
Go to the documentation of this file.
10 
11 namespace yap
12 {
14  (const yap::String& query,
15  pgs::pg_cnx& databaseConnection)
16  : pgStream_ (query, databaseConnection)
17  {
18  }
19 
21  {
22  visitor.Visit (*this);
23  }
24 
26  {
27  visitor.Visit (*this);
28  }
29 
31  {
32  visitor.Visit (*this);
33  }
34 
36  {
37  visitor.Visit (*this);
38  }
39 
40  void DatabaseStream::Write (const String& value)
41  {
42  WriteData (value);
43  }
44 
45  void DatabaseStream::Write (const String& name, const String& value)
46  {
48  "DatabaseStream::Write (const String&, const String&)");
49  }
50 
51  void DatabaseStream::Write (const bool& value)
52  {
53  WriteData (value);
54  }
55 
56  void DatabaseStream::Write (const String& name, const bool& value)
57  {
59  "DatabaseStream::Write (const String&, const bool&)");
60  }
61 
62  void DatabaseStream::Write (const char& value)
63  {
64  yap::String s;
65  s += value;
66 
67  WriteData (s);
68  }
69 
70  void DatabaseStream::Write (const String& name, const char& value)
71  {
73  "DatabaseStream::Write (const String&, const char&)");
74  }
75 
76  void DatabaseStream::Write (const uchar& value)
77  {
78  WriteData (value);
79  }
80 
81  void DatabaseStream::Write (const String& name, const uchar& value)
82  {
84  "DatabaseStream::Write (const String&, const uchar&)");
85  }
86 
87  void DatabaseStream::Write (const Int16& value)
88  {
89  WriteData (value);
90  }
91 
92  void DatabaseStream::Write (const String& name, const Int16& value)
93  {
95  "DatabaseStream::Write (const String&, const Int16&)");
96  }
97 
98  void DatabaseStream::Write (const UInt16& value)
99  {
100  WriteData (value);
101  }
102 
103  void DatabaseStream::Write (const String& name, const UInt16& value)
104  {
105  YAPOG_THROW(
106  "DatabaseStream::Write (const String&, const UInt16&)");
107  }
108 
109  void DatabaseStream::Write (const int& value)
110  {
111  WriteData (value);
112  }
113 
114  void DatabaseStream::Write (const String& name, const int& value)
115  {
116  YAPOG_THROW(
117  "DatabaseStream::Write (const String&, const int&)");
118  }
119 
120  void DatabaseStream::Write (const uint& value)
121  {
122  WriteData (value);
123  }
124 
125  void DatabaseStream::Write (const String& name, const uint& value)
126  {
127  YAPOG_THROW(
128  "DatabaseStream::Write (const String&, const uint&)");
129  }
130 
131  void DatabaseStream::Write (const Int64& value)
132  {
133  WriteData<Int32> (value);
134  }
135 
136  void DatabaseStream::Write (const String& name, const Int64& value)
137  {
138  YAPOG_THROW(
139  "DatabaseStream::Write (const String&, const Int64&)");
140  }
141 
142  void DatabaseStream::Write (const UInt64& value)
143  {
144  WriteData<UInt32> (value);
145  }
146 
147  void DatabaseStream::Write (const String& name, const UInt64& value)
148  {
149  YAPOG_THROW(
150  "DatabaseStream::Write (const String&, const UInt64&)");
151  }
152 
153  void DatabaseStream::Write (const float& value)
154  {
155  WriteData<double> (value);
156  }
157 
158  void DatabaseStream::Write (const String& name, const float& value)
159  {
160  YAPOG_THROW(
161  "DatabaseStream::Write (const String&, const float&)");
162  }
163 
164  void DatabaseStream::Write (const double& value)
165  {
166  WriteData (value);
167  }
168 
169  void DatabaseStream::Write (const String& name, const double& value)
170  {
171  YAPOG_THROW(
172  "DatabaseStream::Write (const String&, const double&)");
173  }
174 
175  void DatabaseStream::Write (const Vector2& value)
176  {
177  Write ("(" +
178  StringHelper::ToString (value.x) + "," +
179  StringHelper::ToString (value.y) + ")");
180  }
181 
182  void DatabaseStream::Write (const String& name, const Vector2& value)
183  {
184  YAPOG_THROW(
185  "DatabaseStream::Write (const String&, const Vector2&)");
186  }
187 
188  void DatabaseStream::Write (const ID& value)
189  {
190  Write (value.GetValue ());
191  }
192 
193  void DatabaseStream::Write (const String& name, const ID& value)
194  {
195  YAPOG_THROW(
196  "DatabaseStream::Write (const String&, const ID&)");
197  }
198 
200  {
201  return ReadData<String> ();
202  }
203 
205  {
206  YAPOG_THROW(
207  "Invalid method call: `DatabaseStream::ReadString (const String&)'");
208  }
209 
211  {
212  return ReadData<bool> ();
213  }
214 
215  bool DatabaseStream::ReadBool (const String& name)
216  {
217  YAPOG_THROW(
218  "Invalid method call: `DatabaseStream::ReadBool (const String&)'");
219  }
220 
222  {
223  return ReadData<yap::String> ()[0];
224  }
225 
226  char DatabaseStream::ReadChar (const String& name)
227  {
228  YAPOG_THROW(
229  "Invalid method call: `DatabaseStream::ReadChar (const String&)'");
230  }
231 
233  {
234  YAPOG_THROW(
235  "Invalid method call: `DatabaseStream::ReadUChar ()'");
236  }
237 
239  {
240  YAPOG_THROW(
241  "Invalid method call: `DatabaseStream::ReadUChar (const String&)'");
242  }
243 
245  {
246  return ReadData<Int16> ();
247  }
248 
250  {
251  YAPOG_THROW(
252  "Invalid method call: `DatabaseStream::ReadInt16 (const String&)'");
253  }
254 
256  {
257  return ReadData<UInt16> ();
258  }
259 
261  {
262  YAPOG_THROW(
263  "Invalid method call: `DatabaseStream::ReadUInt16 (const String&)'");
264  }
265 
267  {
268  return ReadData<int> ();
269  }
270 
271  int DatabaseStream::ReadInt (const String& name)
272  {
273  YAPOG_THROW(
274  "Invalid method call: `DatabaseStream::ReadInt (const String&)'");
275  }
276 
278  {
279  return ReadData<uint> ();
280  }
281 
283  {
284  YAPOG_THROW(
285  "Invalid method call: `DatabaseStream::ReadUInt (const String&)'");
286  }
287 
289  {
290  return ReadData<Int32> ();
291  }
292 
294  {
295  YAPOG_THROW(
296  "Invalid method call: `DatabaseStream::ReadInt64 (const String&)'");
297  }
298 
300  {
301  return ReadData<UInt32> ();
302  }
303 
305  {
306  YAPOG_THROW(
307  "Invalid method call: `DatabaseStream::ReadUInt64 (const String&)'");
308  }
309 
311  {
312  return ReadData<double> ();
313  }
314 
315  float DatabaseStream::ReadFloat (const String& name)
316  {
317  YAPOG_THROW(
318  "Invalid method call: `DatabaseStream::ReadFloat (const String&)'");
319  }
320 
322  {
323  return ReadData<double> ();
324  }
325 
326  double DatabaseStream::ReadDouble (const String& name)
327  {
328  YAPOG_THROW(
329  "Invalid method call: `DatabaseStream::ReadDouble (const String&)'");
330  }
331 
333  {
335 
336  yap::StringHelper::Split (ReadString (), "(,)", result);
337 
338  return yap::Vector2 (
339  yap::StringHelper::Parse<float> (result[1]),
340  yap::StringHelper::Parse<float> (result[2]));
341  }
342 
344  {
345  YAPOG_THROW(
346  "Invalid method call: `DatabaseStream::ReadVector2 (const String&)'");
347  }
348 
350  {
351  return ID (ReadUInt64 ());
352  }
353 
355  {
356  YAPOG_THROW(
357  "Invalid method call: `DatabaseStream::ReadID (const String&)'");
358  }
359 
362  {
363  return pgStream_.eos ();
364  }
365 
367  {
368  return pgStream_.affected_rows ();
369  }
370 
372  {
373  return pgStream_.val_is_null ();
374  }
375 
376 } // namespace yap