1 /* $Id: interfaces.cpp 544602 2017-08-24 15:46:37Z satskyse $
2  * ===========================================================================
3  *
4  *                            PUBLIC DOMAIN NOTICE
5  *               National Center for Biotechnology Information
6  *
7  *  This software/database is a "United States Government Work" under the
8  *  terms of the United States Copyright Act.  It was written as part of
9  *  the author's official duties as a United States Government employee and
10  *  thus cannot be copyrighted.  This software/database is freely available
11  *  to the public for use. The National Library of Medicine and the U.S.
12  *  Government have not placed any restriction on its use or reproduction.
13  *
14  *  Although all reasonable efforts have been taken to ensure the accuracy
15  *  and reliability of the software and data, the NLM and the U.S.
16  *  Government do not and cannot warrant the performance or results that
17  *  may be obtained by using this software or data. The NLM and the U.S.
18  *  Government disclaim all warranties, express or implied, including
19  *  warranties of performance, merchantability or fitness for any particular
20  *  purpose.
21  *
22  *  Please cite the author in any work or product based on this material.
23  *
24  *  ===========================================================================
25  *
26  * Author:  Vladimir Soussov
27  *
28  * File Description:  Data Server public interfaces
29  *
30  */
31 
32 #include <ncbi_pch.hpp>
33 
34 #include <dbapi/driver/dbapi_driver_conn_params.hpp>
35 #include <dbapi/driver/dbapi_driver_conn_mgr.hpp>
36 
37 
38 BEGIN_NCBI_SCOPE
39 
40 
41 ////////////////////////////////////////////////////////////////////////////
CDBConnParams(void)42 CDBConnParams::CDBConnParams(void)
43 : m_ChildObj(NULL)
44 {
45 }
46 
~CDBConnParams(void)47 CDBConnParams::~CDBConnParams(void)
48 {
49 }
50 
51 
52 ///////////////////////////////////////////////////////////////////////////////
CDBConnParamsDelegate(const CDBConnParams & other)53 CDBConnParamsDelegate::CDBConnParamsDelegate(const CDBConnParams& other)
54 : m_Other(other)
55 {
56     m_Other.SetChildObj(*this);
57 }
58 
~CDBConnParamsDelegate(void)59 CDBConnParamsDelegate::~CDBConnParamsDelegate(void)
60 {
61     m_Other.ReleaseChildObj();
62 }
63 
64 
GetDriverName(void) const65 string CDBConnParamsDelegate::GetDriverName(void) const
66 {
67     return m_Other.GetDriverName();
68 }
69 
GetProtocolVersion(void) const70 Uint4  CDBConnParamsDelegate::GetProtocolVersion(void) const
71 {
72     return m_Other.GetProtocolVersion();
73 }
74 
GetEncoding(void) const75 EEncoding CDBConnParamsDelegate::GetEncoding(void) const
76 {
77     return m_Other.GetEncoding();
78 }
79 
GetServerName(void) const80 string CDBConnParamsDelegate::GetServerName(void) const
81 {
82     return m_Other.GetServerName();
83 }
84 
GetDatabaseName(void) const85 string CDBConnParamsDelegate::GetDatabaseName(void) const
86 {
87     return m_Other.GetDatabaseName();
88 }
89 
GetUserName(void) const90 string CDBConnParamsDelegate::GetUserName(void) const
91 {
92     return m_Other.GetUserName();
93 }
94 
GetPassword(void) const95 string CDBConnParamsDelegate::GetPassword(void) const
96 {
97     return m_Other.GetPassword();
98 }
99 
100 CDBConnParams::EServerType
GetServerType(void) const101 CDBConnParamsDelegate::GetServerType(void) const
102 {
103     return m_Other.GetServerType();
104 }
105 
GetHost(void) const106 Uint4 CDBConnParamsDelegate::GetHost(void) const
107 {
108     return m_Other.GetHost();
109 }
110 
GetPort(void) const111 Uint2 CDBConnParamsDelegate::GetPort(void) const
112 {
113     return m_Other.GetPort();
114 }
115 
116 CRef<IConnValidator>
GetConnValidator(void) const117 CDBConnParamsDelegate::GetConnValidator(void) const
118 {
119     return m_Other.GetConnValidator();
120 }
121 
GetOpeningMsgHandlers(void) const122 const impl::CDBHandlerStack& CDBConnParamsDelegate::GetOpeningMsgHandlers(void)
123     const
124 {
125     return m_Other.GetOpeningMsgHandlers();
126 }
127 
GetParam(const string & key) const128 string CDBConnParamsDelegate::GetParam(const string& key) const
129 {
130     return m_Other.GetParam(key);
131 }
132 
133 
134 ////////////////////////////////////////////////////////////////////////////
~I_BlobDescriptor(void)135 I_BlobDescriptor::~I_BlobDescriptor(void)
136 {
137     return;
138 }
139 
140 
141 ////////////////////////////////////////////////////////////////////////////
142 //  CDBParams::
143 //
144 
~CDBParams(void)145 CDBParams::~CDBParams(void)
146 {
147 }
148 
149 
Bind(const CDBParamVariant & param,CDB_Object * value,bool out_param)150 CDBParams& CDBParams::Bind(
151     const CDBParamVariant& param,
152     CDB_Object* value,
153     bool out_param
154     )
155 {
156     DATABASE_DRIVER_ERROR( "Methods Bind and Set of class CDBParams are not implemented yet.", 122002 );
157     return *this;
158 }
159 
160 
Set(const CDBParamVariant & param,CDB_Object * value,bool out_param)161 CDBParams& CDBParams::Set(
162     const CDBParamVariant& param,
163     CDB_Object* value,
164     bool out_param
165     )
166 {
167     DATABASE_DRIVER_ERROR( "Methods Bind and Set of class CDBParams are not implemented yet.", 122002 );
168     return *this;
169 }
170 
171 
172 ////////////////////////////////////////////////////////////////////////////
173 //  I_BaseCmd::
174 //  CParametrizedStmt::
175 //  I_LangCmd::
176 //  I_RPCCmd::
177 //  I_BCPInCmd::
178 //  I_CursorCmd::
179 //  I_SendDataCmd::
180 //
181 
I_BaseCmd(void)182 I_BaseCmd::I_BaseCmd(void)
183 {
184 }
185 
~I_BaseCmd(void)186 I_BaseCmd::~I_BaseCmd(void)
187 {
188     return;
189 }
190 
CParamRecordset(void)191 CParamRecordset::CParamRecordset(void)
192 {
193 }
194 
~CParamRecordset(void)195 CParamRecordset::~CParamRecordset(void)
196 {
197 }
198 
CParamStmt(void)199 CParamStmt::CParamStmt(void)
200 {
201 }
202 
~CParamStmt(void)203 CParamStmt::~CParamStmt(void)
204 {
205 }
206 
I_LangCmd(void)207 I_LangCmd::I_LangCmd(void)
208 {
209 }
210 
~I_LangCmd(void)211 I_LangCmd::~I_LangCmd(void)
212 {
213     return;
214 }
215 
I_RPCCmd(void)216 I_RPCCmd::I_RPCCmd(void)
217 {
218 }
219 
~I_RPCCmd(void)220 I_RPCCmd::~I_RPCCmd(void)
221 {
222     return;
223 }
224 
I_BCPInCmd(void)225 I_BCPInCmd::I_BCPInCmd(void)
226 {
227     return;
228 }
229 
~I_BCPInCmd(void)230 I_BCPInCmd::~I_BCPInCmd(void)
231 {
232     return;
233 }
234 
I_CursorCmd(void)235 I_CursorCmd::I_CursorCmd(void)
236 {
237 }
238 
~I_CursorCmd(void)239 I_CursorCmd::~I_CursorCmd(void)
240 {
241     return;
242 }
243 
UpdateTextImage(unsigned int item_num,CDB_Stream & data,bool log_it)244 bool I_CursorCmd::UpdateTextImage(unsigned int item_num,
245                                   CDB_Stream& data,
246                                   bool log_it)
247 {
248     return UpdateBlob(item_num, data, log_it);
249 }
250 
I_SendDataCmd(void)251 I_SendDataCmd::I_SendDataCmd(void)
252 {
253 }
254 
~I_SendDataCmd(void)255 I_SendDataCmd::~I_SendDataCmd(void)
256 {
257     return;
258 }
259 
260 
261 ////////////////////////////////////////////////////////////////////////////
262 //  I_Result::
263 //
264 
I_Result(void)265 I_Result::I_Result(void)
266 {
267 }
268 
~I_Result(void)269 I_Result::~I_Result(void)
270 {
271     return;
272 }
273 
GetImageOrTextDescriptor(void)274 I_BlobDescriptor* I_Result::GetImageOrTextDescriptor(void)
275 {
276     return GetBlobDescriptor();
277 }
278 
279 
280 ////////////////////////////////////////////////////////////////////////////
281 //  I_DriverContext::
282 //
283 
I_DriverContext(void)284 I_DriverContext::I_DriverContext(void)
285 {
286     return;
287 }
288 
~I_DriverContext(void)289 I_DriverContext::~I_DriverContext(void)
290 {
291     return;
292 }
293 
294 CDB_Connection*
Connect(const string & srv_name,const string & user_name,const string & passwd,TConnectionMode mode,bool reusable,const string & pool_name)295 I_DriverContext::Connect(
296         const string&   srv_name,
297         const string&   user_name,
298         const string&   passwd,
299         TConnectionMode mode,
300         bool            reusable,
301         const string&   pool_name)
302 {
303     const CDBDefaultConnParams def_params(
304             srv_name,
305             user_name,
306             passwd,
307             mode,
308             reusable,
309             pool_name
310             );
311 	const CCPPToolkitConnParams params(def_params);
312 
313     return MakeConnection(params);
314 }
315 
316 CDB_Connection*
ConnectValidated(const string & srv_name,const string & user_name,const string & passwd,IConnValidator & validator,TConnectionMode mode,bool reusable,const string & pool_name)317 I_DriverContext::ConnectValidated(
318         const string&   srv_name,
319         const string&   user_name,
320         const string&   passwd,
321         IConnValidator& validator,
322         TConnectionMode mode,
323         bool            reusable,
324         const string&   pool_name)
325 {
326     CDBDefaultConnParams def_params(
327             srv_name,
328             user_name,
329             passwd,
330             mode,
331             reusable,
332             pool_name
333             );
334     def_params.SetConnValidator(CRef<IConnValidator>(&validator));
335 
336 	const CCPPToolkitConnParams params(def_params);
337 
338 
339     return MakeConnection(params);
340 }
341 
GetDriverName(void) const342 string I_DriverContext::GetDriverName(void) const
343 {
344     return kEmptyStr;
345 }
346 
347 ////////////////////////////////////////////////////////////////////////////
I_Connection(void)348 I_Connection::I_Connection(void)
349 {
350 }
351 
~I_Connection(void)352 I_Connection::~I_Connection(void)
353 {
354     return;
355 }
356 
357 
358 END_NCBI_SCOPE
359 
360 
361