MCPcopy Create free account
hub / github.com/FirebirdSQL/firebird / getOptions

Method getOptions

src/jrd/svc.cpp:266–348  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

264
265
266void Service::getOptions(ClumpletReader& spb)
267{
268 svc_spb_version = spb.getBufferTag();
269
270 for (spb.rewind(); !(spb.isEof()); spb.moveNext())
271 {
272 switch (spb.getClumpTag())
273 {
274 case isc_spb_user_name:
275 spb.getString(svc_username);
276 fb_utils::dpbItemUpper(svc_username);
277 break;
278
279 case isc_spb_sql_role_name:
280 spb.getString(svc_sql_role);
281 break;
282
283 case isc_spb_auth_block:
284 svc_auth_block.clear();
285 svc_auth_block.add(spb.getBytes(), spb.getClumpLength());
286 break;
287
288 case isc_spb_command_line:
289 spb.getString(svc_command_line);
290 break;
291
292 case isc_spb_expected_db:
293 spb.getPath(svc_expected_db);
294 break;
295
296 case isc_spb_address_path:
297 spb.getData(svc_address_path);
298 {
299 ClumpletReader address_stack(ClumpletReader::UnTagged,
300 spb.getBytes(), spb.getClumpLength());
301 while (!address_stack.isEof())
302 {
303 if (address_stack.getClumpTag() != isc_dpb_address)
304 {
305 address_stack.moveNext();
306 continue;
307 }
308
309 ClumpletReader address(ClumpletReader::UnTagged,
310 address_stack.getBytes(), address_stack.getClumpLength());
311
312 while (!address.isEof())
313 {
314 switch (address.getClumpTag())
315 {
316 case isc_dpb_addr_protocol:
317 address.getString(svc_network_protocol);
318 break;
319 case isc_dpb_addr_endpoint:
320 address.getString(svc_remote_address);
321 break;
322 default:
323 break;

Callers

nothing calls this directly

Calls 14

getBufferTagMethod · 0.80
getClumpTagMethod · 0.80
getClumpLengthMethod · 0.80
getPathMethod · 0.80
dpbItemUpperFunction · 0.50
rewindMethod · 0.45
isEofMethod · 0.45
moveNextMethod · 0.45
getStringMethod · 0.45
clearMethod · 0.45
addMethod · 0.45
getBytesMethod · 0.45

Tested by

no test coverage detected