rasdaman complete source
rnprasserver.hh
Go to the documentation of this file.
1 /*
2 * This file is part of rasdaman community.
3 *
4 * Rasdaman community is free software: you can redistribute it and/or modify
5 * it under the terms of the GNU General Public License as published by
6 * the Free Software Foundation, either version 3 of the License, or
7 * (at your option) any later version.
8 *
9 * Rasdaman community is distributed in the hope that it will be useful,
10 * but WITHOUT ANY WARRANTY; without even the implied warranty of
11 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 * GNU General Public License for more details.
13 *
14 * You should have received a copy of the GNU General Public License
15 * along with rasdaman community. If not, see <http://www.gnu.org/licenses/>.
16 *
17 * Copyright 2003, 2004, 2005, 2006, 2007, 2008, 2009 Peter Baumann /
18 rasdaman GmbH.
19 *
20 * For more information please see <http://www.rasdaman.org>
21 * or contact Peter Baumann via <baumann@rasdaman.com>.
22 */
23 #ifndef RNPRASSERVER_HH
24 #define RNPRASSERVER_HH
25 
26 #include "rnprotocol/rnprotocol.hh"
27 
28 using namespace rnp;
29 
30 
34 class RnpRasserver : public Rnp
35 {
36 public:
37 
38  static const RnpQuark serverID; // 3072002
40  {
42  pmt_clientid = 1,
43  pmt_rErrorString = 2,
44  pmt_dbname = 3,
45  pmt_accesmode = 4,
46  pmt_querystring = 5,
47  pmt_httpqanswer = 6,
48  pmt_oidstring = 7,
49  pmt_capability = 8,
50  pmt_transstatus = 9,
51  pmt_objecttype =10,
52  pmt_returnstatus =11,
53  pmt_skalarobject =12,
54  pmt_tiledata =13,
55  pmt_domain =14,
56  pmt_typename =15,
57  pmt_typelength =16,
58  pmt_typetype =17,
59  pmt_typestructure = 18,
60  pmt_collname = 19,
61  pmt_whichformat = 20,
62  pmt_format = 21,
63  pmt_formatparams = 22,
64  pmt_currentformat = 23,
65  pmt_storageformat = 24,
66  pmt_ispersistent = 25,
67  pmt_errorno = 26,
68  pmt_lineno = 27,
69  pmt_columnno = 28,
70  pmt_errortoken = 29,
71  pmt_indextype = 30,
72  //.......
73  pmt_HowMany
74  };
75 
76  enum Command
77  {
79  cmd_connect = 1,
80  cmd_disconnect = 2,
81  cmd_opendb = 3,
82  cmd_closedb = 4,
83  cmd_beginta = 5,
84  cmd_committa = 6,
85  cmd_abortta = 7,
86  cmd_istaopen = 8,
87  cmd_queryhttp = 9,
88  cmd_getnewoid = 10,
89  cmd_queryrpc = 11,
90  cmd_getnextelem = 12,
91  cmd_endtransfer = 13,
92  cmd_getnextmdd = 14,
93  cmd_getnexttile = 15,
94  cmd_updaterpc = 16,
95  cmd_startinsTmdd = 17,
96  cmd_inserttile = 18,
97  cmd_endinsmdd = 19,
98  cmd_initupdate = 20,
99  cmd_gettypestruct = 21,
100  cmd_startinsPmdd = 22,
101  cmd_insertmdd = 23,
102  cmd_insertcoll = 24,
103  cmd_remobjfromcoll = 25,
104  cmd_delobjbyoid = 26,
105  cmd_delcollbyname = 27,
106  cmd_getcoll = 28,
107  cmd_getcolloids = 29,
108  cmd_getobjecttype = 30,
109  cmd_setformat = 31,
110  //-- until here the compatibility functions --
111 
112  cmd_createcollection = 32,
113  cmd_createmdd = 33,
114  cmd_extendmdd = 34,
115  cmd_gettiledomains = 35,
116  cmd_HowMany
117  };
118 
119  const char* getParameterTypeName(RnpQuark) const throw();
120  const char* getCommandName(RnpQuark) const throw();
121 
122 protected:
124  static const char* parameterTypeNames[pmt_HowMany];
125  static const char* commandNames[cmd_HowMany];
126 
127 };
128 #endif
Definition: rnprotocol.hh:59
int RnpQuark
The basic type used in RNP. It is always 32-bit long.
Definition: rnprotocol.hh:51
Definition: rnprasserver.hh:34
Command
Definition: rnprasserver.hh:76
Definition: rnprasserver.hh:41
Definition: rnpcommunication.hh:44
ParameterType
Definition: rnprasserver.hh:39
Definition: rnprasserver.hh:78
static const RnpQuark serverID
Definition: rnprasserver.hh:38