**** Merged from MCS ****
[mono-project.git] / mcs / class / Npgsql / Npgsql / NpgsqlDescribe.cs
blob9642b1b285e87b101be0bb5ecdde18126af2ddc4
1 // created on 1/7/2003 at 20:48
3 // Npgsql.NpgsqlDescribe.cs
4 //
5 // Author:
6 // Francisco Jr. (fxjrlists@yahoo.com.br)
7 //
8 // Copyright (C) 2002 The Npgsql Development Team
9 // npgsql-general@gborg.postgresql.org
10 // http://gborg.postgresql.org/project/npgsql/projdisplay.php
12 // This library is free software; you can redistribute it and/or
13 // modify it under the terms of the GNU Lesser General Public
14 // License as published by the Free Software Foundation; either
15 // version 2.1 of the License, or (at your option) any later version.
17 // This library is distributed in the hope that it will be useful,
18 // but WITHOUT ANY WARRANTY; without even the implied warranty of
19 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
20 // Lesser General Public License for more details.
22 // You should have received a copy of the GNU Lesser General Public
23 // License along with this library; if not, write to the Free Software
24 // Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
26 using System;
27 using System.IO;
28 using System.Text;
30 namespace Npgsql
33 /// <summary>
34 /// This class represents the Parse message sent to PostgreSQL
35 /// server.
36 /// </summary>
37 ///
38 internal sealed class NpgsqlDescribe
40 // Logging related values
41 private static readonly String CLASSNAME = "NpgsqlDescribe";
43 private Char _whatToDescribe;
44 private String _portalName;
46 public NpgsqlDescribe(Char whatToDescribe, String portalName)
48 _whatToDescribe = whatToDescribe;
49 _portalName = portalName;
53 public void WriteToStream(Stream outputStream, Encoding encoding)
55 outputStream.WriteByte((Byte)'D');
57 PGUtil.WriteInt32(outputStream, 4 +
58 1 +
59 encoding.GetByteCount(_portalName) + 1);
61 outputStream.WriteByte((Byte)_whatToDescribe);
62 PGUtil.WriteString(_portalName, outputStream, encoding);