| 264 | |
| 265 | |
| 266 | void 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; |
nothing calls this directly
no test coverage detected